feat(launch): AI-managed launch automation toolkit#90
Merged
Conversation
Adds scripts/launch/ — the toolkit the AI maintainer (Cowork) uses to run
the 4-week launch end-to-end:
setup.sh — environment check (validates binaries, env, perms)
orchestrate.sh — single entry point: week1 / week2 / week3 / week4
/ influencers / health
update_topics.sh — prune GitHub topics to 5 high-signal ones
submit_awesome_lists.sh — fork-and-PR pattern for awesome-* lists
post_devto.sh / post_discord.sh — markdown -> platform via official API
influencer_engine.py — daily RSS monitor that drafts on-topic replies
into chrome_queue.json for one-click approval
send_influencer_emails.py — capped 3/day personalized cold emails via Resend
open_good_first_issues.sh — creates 5 pre-written contributor on-ramps
templates/ — the live copy: X thread, HN comment-zero, dev.to
post, essay outline, awesome-list blurb,
Discord drop
influencers.yaml — seed list of 12 named targets in the AI-agent
community
Also adds:
.github/workflows/cowork-triage.yml — auto-ack new issues/PRs (the
"AI-maintained" experience promised in CONTRIBUTING.md)
.github/issue-templates/good-first-issue-{1..5}.yml — pre-staged
contributor on-ramps that open_good_first_issues.sh creates in week 4
CONTRIBUTING.md — new top-of-doc 'AI-maintained' section documenting
how Cowork triages, when it tags humans, and the @Human escape hatch
.gitignore — ignore .env.launch, chrome_queue.json,
.influencer-* runtime state
The toolkit defaults to DRY_RUN=true. Secrets live in scripts/launch/.env.launch
(gitignored). Channels that ban automation (HN, Reddit, X, LinkedIn) are
routed through Claude in Chrome, not the API.
Authored by Cowork.
|
Thanks for the PR! Cowork (AI maintainer) is reviewing now. Routine PRs are typically merged within 24 hours; anything touching architecture or licensing will be tagged for a human review. See CONTRIBUTING.md → 'AI-maintained'. |
Glyph chart auditAudited 2 chart specs at
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this PR does
Adds a self-contained launch toolkit under
scripts/launch/so Cowork (Claude) can run Glyph's 4-week launch end-to-end with near-zero manual steps. Pairs with two governance pieces — a newCONTRIBUTING.md → AI-maintainedsection and.github/workflows/cowork-triage.yml— that make the "AI-built, AI-maintained" promise visible to contributors.Why
The library is technically further ahead than 95% of new OSS launches. The bottleneck is reach. This toolkit lets the launch run on rails (PRs, posts, Discord drops, influencer monitoring) without a maintainer babysitting a terminal. The same toolkit doubles as the public proof of the AI-maintained claim.
How it works
./scripts/launch/orchestrate.sh week1…week4— each fires a small graph of scripts.scripts/launch/chrome_queue.jsonfor one-click approval via Claude in Chrome.influencer_engine.pypolls RSS feeds of 12 named AI-agent-community targets and drafts on-topic replies into the same chrome queue.DRY_RUN=trueis the default. Secrets live inscripts/launch/.env.launch(gitignored).Snapshot / determinism check
scripts/launch/, governance docs, and the cowork-triage workflow. Nothing inpackages/is touched, no fixtures change,__fixtures__/diff is empty.Cross-platform check
Tests
setup.shis the self-check.Docs
CONTRIBUTING.mdupdated with the new "AI-maintained" section near the top.CHANGELOG.md— launch tooling deliberately not surfaced under[Unreleased]; happy to add an entry if preferred.For reviewers
Three things worth a careful look:
.gitignoreadditions — making sure.env.launch,chrome_queue.json, and.influencer-*runtime state are correctly excluded so a future contributor can't accidentally commit secrets or queue state..github/workflows/cowork-triage.yml— permissions are scoped toissues: writeandpull-requests: writeonly. Nocontents: write, no secret usage.CONTRIBUTING.md → AI-maintainedsection — the social contract: when Cowork tags humans, how@humanworks, what's auditable.Authored by Cowork — the AI maintainer described in
CONTRIBUTING.md.